Embodiments presented herein generally relate to web application development, and more specifically, to generating a web application user interface that includes back-end server components.
Web applications typically include a front-end user interface (UI) and a back-end service. The web application UI facilitates access to the service. Further, the development process of a web application is generally separated between the front-end and the back-end. During the development process, a front-end developer designs a UI and specifies, to the back-end developer, server requirements for the UI, e.g., a REST (Representational State Transfer) function of each element in the UI, an action each element performs, etc. The front-end developer may also generate sample data that the back-end developer may use to test the application. In turn, the back-end developer implements the service according to the requirements and test data provided by the front-end developer. The UI and the service are then integrated.
Often, the front-end developer can miscommunicate specifications, or the back-end developer can misunderstand the specifications set by the front-end developer. Consequently, the front- and back-end developers need to repeat this process several times before generating a version of the web application that meets the specifications of the front-end developer. Integrating the front-end UI with the back-end server components of a web application can be a complex and time-consuming process that requires significant back-and-forth communication between the front-end UI developer and the back-end developer. This process can adversely affect product schedules even when specifications are clearly communicated and implemented. Further, the current approach to web application development often requires the front-end developer to accommodate the UI to the abilities of the back-end developer. As a result, the end user may have difficulty using the UI.